package com.cdu.guoxinan.www.smartcom.domian.pojo;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;

/**
* 维修记录表
* @TableName maintenance_record
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class  Repair implements Serializable {

    /**
    * 记录ID
    */
    @NotNull(message="[记录ID]不能为空")
    @ApiModelProperty("记录ID")
    private Long recordId;
    /**
    * 维修请求ID
    */
    @NotNull(message="[维修请求ID]不能为空")
    @ApiModelProperty("维修请求ID")
    private Long requestId;
    /**
    * 维修人员ID
    */
    @NotNull(message="[维修人员ID]不能为空")
    @ApiModelProperty("维修人员ID")
    private int technicianId;
    /**
    * 维修详情
    */
    @NotBlank(message="[维修详情]不能为空")
    @Size(max=200,message="编码长度不能超过200")
    @ApiModelProperty("维修详情")
    @Length(max= 200,message="编码长度不能超过200")
    private String repairDescription;
    /**
    * 费用
    */
    @NotNull(message="[费用]不能为空")
    @ApiModelProperty("费用")
    private double cost;
    /**
    * 完成时间
    */
    @NotNull(message="[完成时间]不能为空")
    @ApiModelProperty("完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date completedAt;
    /**
    * 附件路径列表
    */
    @Size(max= 100,message="编码长度不能超过200")
    @ApiModelProperty("附件路径列表")
    @Length(max= 200,message="编码长度不能超过200")
    private String attachments;

    /**
    * 创建时间
    */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;
    /**
    * 状态（1待处理  2处理中  3已完成）
    */
    private  int status;
}
